class A:
    i = 10

    def sum(self):
        return self.getI() + 10

    def sum1(self):
        return self.i + 10

    def getI(self):
        return self.i

class B(A):
    i = 20

    # def sum(self):
    #     return self.i + 20
    #
    #
    # def sum1(self):
    #     return self.i + 10

    def getI(self):
        return self.i


#创建B的对象b
#这里有一个很重要的点
#当调用对象成员的时候,会和对象本身动态关联，也就是哪个对象调用的
#self就代表的是当前对象
b = B()
print(b.sum())#40 -> 30
print(b.sum1())#30 -> 30